package exception;

/**
 * java异常处理机制：try ....catch
 * try{
 *     代码片段
 *
 * }catch(XXXException e){
 *     当try的代码片段出现XXXException时的补救措施
 * }
 */

public class TrycacheDemo {
    public static void main(String[] args) {
        System.out.println("程序开始了");
        try{
//            String line=null;
//            System.out.println(line.length());
//            String line1="";
//            System.out.println(line1.charAt(0));
            String line2="abc";
            System.out.println(Integer.parseInt("abc"));
        }
        catch(NullPointerException e){
            System.out.println("出现了空指针异常并解决了");
        }catch (StringIndexOutOfBoundsException e){
            System.out.println("出现了字符串下标越界异常并解决了");
        }
        //若多个异常具有相同的处理方式时，可以合并到一个catch中进行处理
//        catch (NullPointerException | StringIndexOutOfBoundsException e){
//            System.out.println("出现空指针或数组下标越界异常并解决了");
//        }
        catch (Exception e){//可以在最后捕获超类型异常，凡是该异常的子类型都可以捕获并处理
            System.out.println("反正就是出了个错并解决了");
        }
        System.out.println("程序结束了....");

    }
}
